<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core"  
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:pe="http://primefaces.org/ui/extensions"> 

    <h:form id="formCadastroProduto">
        <p:growl id="growl" showDetail="false"/>
        <h:inputHidden value="#{produtoControler.produto.id}"/>
        <h:panelGrid columns="4">

            <h:panelGrid columns="1">
                <h:outputText value="Código de Barras:" style="font-weight: bold;"/>
                <p:inputText id="gtin" value="#{produtoControler.produto.gtin}" disabled="#{produtoControler.gtin}" maxlength="13" rendered="#{!produtoControler.alterando}">
                    <p:ajax event="blur" update="formCadastroProduto" listener="#{produtoControler.gtinCodInterno()}"/>
                </p:inputText>
                <h:outputText value="#{produtoControler.produto.gtin}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Código de Interno:" style="font-weight: bold;"/>
                <p:inputText id="interno" value="#{produtoControler.produto.codigoInterno}"  disabled="#{produtoControler.codInterno}" rendered="#{!produtoControler.alterando}">
                    <p:ajax event="blur" update="formCadastroProduto" listener="#{produtoControler.gtinCodInterno()}" process="@this"/>
                </p:inputText>
                <h:outputText value="#{produtoControler.produto.codigoInterno}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Descrição:" style="font-weight: bold;"/>
                <p:inputText value="#{produtoControler.produto.descricao}" required="true" requiredMessage="Informe a descrição do produto!!" rendered="#{!produtoControler.alterando}">
                    <p:ajax event="blur" update="descrPdv" listener="#{produtoControler.preecheDescricaoPdv()}"/>
                </p:inputText>
                <h:outputText value="#{produtoControler.produto.descricao}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Descrição PDV:" style="font-weight: bold;"/>
                <p:inputText value="#{produtoControler.produto.descricaoPdv}"  maxlength="38" id="descrPdv" rendered="#{!produtoControler.alterando}"/>
                <h:outputText value="#{produtoControler.produto.descricaoPdv}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Unidade:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{produtoControler.produto.idUnidadeProduto.id}" tabindex="3" style="width: 150px;" rendered="#{!produtoControler.alterando}">
                    <f:selectItem itemValue="0" itemLabel="Selecione" />
                    <f:selectItems value="#{unidadeMedidaControler.listUnidade}" var="uni" itemValue="#{uni.id}" itemLabel="#{uni.nome}"/> 
                </p:selectOneMenu>
                <h:outputText value="#{produtoControler.produto.idUnidadeProduto.nome}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Preço de venda:" style="font-weight: bold;"/>
                <pe:inputNumber value="#{produtoControler.produto.valorVenda}" minValue="0.00" required="true" requiredMessage="O preço e venda é obrigatório!" rendered="#{!produtoControler.alterando}"/>
                <h:outputText value="#{produtoControler.produto.valorVenda}" rendered="#{produtoControler.alterando}">
                    <f:convertNumber type="currency"/>
                </h:outputText>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Estoque:" style="font-weight: bold;"/>
                <pe:inputNumber value="#{produtoControler.produto.qtdEstoque}" minValue="-10000.00" disabled="true" rendered="#{!produtoControler.alterando}"/>
                <h:outputText value="#{produtoControler.produto.qtdEstoque}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="ICMS:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{produtoControler.produto.ecfIcmsSt}" style="width: 150px;" rendered="#{!produtoControler.alterando}">  
                    <f:selectItem itemValue="0" itemLabel="Selecione" />
                    <f:selectItems value="#{aliquotaControler.listAliquotas}" var="icm" itemValue="#{icm.descricao}" itemLabel="#{icm.descricao} - #{icm.obs}"/> 
                </p:selectOneMenu>
                <h:outputText value="#{produtoControler.produto.ecfIcmsSt}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="NCM:" style="font-weight: bold;"/>
                <p:inputText value="#{produtoControler.produto.ncm}" rendered="#{!produtoControler.alterando}"/>
                <h:outputText value="#{produtoControler.produto.ncm}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Grupo:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{produtoControler.produto.idGrupo.id}" style="width: 150px;" rendered="#{!produtoControler.alterando}">  
                    <f:selectItem itemValue="0" itemLabel="Selecione" />
                    <f:selectItems value="#{grupoControler.listGrupos}" var="grup" itemValue="#{grup.id}" itemLabel="#{grup.descricao}"/> 
                    <p:ajax event="change" update="subGrupo" listener="#{produtoControler.populaComboSubgrupo()}"/>
                </p:selectOneMenu>
                <h:outputText value="#{produtoControler.produto.idGrupo.descricao}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Sub-Grupo:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{produtoControler.produto.idSubgrupo.id}" id="subGrupo" style="width: 150px;" rendered="#{!produtoControler.alterando}">  
                    <f:selectItem itemValue="0" itemLabel="Selecione"/>
                    <f:selectItems value="#{produtoControler.listSubGrupos}" var="sb" itemValue="#{sb.id}" itemLabel="#{sb.descricao}"/> 
                </p:selectOneMenu>
                <h:outputText value="#{produtoControler.produto.idSubgrupo.descricao}" rendered="#{produtoControler.alterando}"/>
            </h:panelGrid>
        </h:panelGrid>

        <p:panel header="Tributos do produto" >
            <h:panelGrid columns="2">
                <h:panelGrid columns="1">
                    <h:outputText value="Origem da mercadoria" style="font-weight: bold;"/>
                    <p:selectOneMenu value="#{produtoControler.origemMercadoria}" style="width: 150px;" rendered="#{!produtoControler.alterando}">
                        <f:selectItem itemValue="0" itemLabel="0 - Nacional"/>
                        <f:selectItem itemValue="1" itemLabel="1 - Estrangeira - Importação direta"/>
                        <f:selectItem itemValue="2" itemLabel="2 - Estrangeira - Adquirida no mercado interno"/>
                    </p:selectOneMenu>
                    <h:outputText value="#{produtoControler.origemMercadoria}" rendered="#{produtoControler.alterando}"/>
                </h:panelGrid>

                <h:panelGrid columns="1">
                    <h:outputText value="TRIBUTAÇÃO PELO ICMS" style="font-weight: bold;"/>
                    <p:selectOneMenu value="#{produtoControler.produto.cst}" rendered="#{!produtoControler.alterando}">
                        <f:selectItem itemValue="00" itemLabel="00 - Tributada integralmente"/>
                        <f:selectItem itemValue="10" itemLabel="10 - Tributada e com cobrança do ICMS por substituição tributária "/>
                        <f:selectItem itemValue="20" itemLabel="20 - Com redução de base de cálculo"/>
                        <f:selectItem itemValue="30" itemLabel="30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária"/>
                        <f:selectItem itemValue="40" itemLabel="40 - Isenta"/>
                        <f:selectItem itemValue="41" itemLabel="41 - Não tributada "/>
                        <f:selectItem itemValue="50" itemLabel="50 - Suspensão "/>
                        <f:selectItem itemValue="51" itemLabel="51 - Diferimento"/>
                        <f:selectItem itemValue="60" itemLabel="60 - ICMS cobrado anteriormente por substituição tributária"/>
                        <f:selectItem itemValue="70" itemLabel="70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária "/>
                        <f:selectItem itemValue="90" itemLabel="90 - Outras "/>
                    </p:selectOneMenu>
                    <h:outputText value="#{produtoControler.produto.cst}" rendered="#{produtoControler.alterando}"/>
                </h:panelGrid>
            </h:panelGrid>
        </p:panel>
        <h:panelGrid columns="1">
            <h:panelGrid columns="5">
                <p:commandButton value="Salvar" accesskey="S" action="#{produtoControler.salvar()}" rendered="#{!produtoControler.alterando}"
                                 update=":formCadastroProduto" onclick="statusDialog.show();" onsuccess="statusDialog.hide();"/>
                <p:commandButton value="Alterar" update="@form" rendered="#{produtoControler.alterando}" action="#{produtoControler.alterar()}"/>
                <p:commandButton image="ui-icon ui-icon-close" title="excluir" value="Excluir" update=":formTabela"
                                 action="#{produtoControler.setProduto(forn)}" rendered="#{produtoControler.alterando}" onclick="confirmationExcluirgrupo.show();"/>
                <p:commandButton value="Novo" accesskey="N" update="@form" action="#{produtoControler.inicializaObj()}" process="@this"/>
                <p:commandButton value="Cancelar" accesskey="C" onclick="carDialogProduto.hide()"/>
            </h:panelGrid>
        </h:panelGrid>
    </h:form>
</html>